home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333)))) IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- iiiiffffllllCCCCoooonnnnffffiiiigggg - class for pixel abstraction
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- This is a base class and therefore has no inheritance.
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <ifl/iflConfig.h>
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The iflConfig class is used to describe the configuration of pixel data.
- It is used in iflFile functions such as ggggeeeettttTTTTiiiilllleeee(((()))) and sssseeeettttTTTTiiiilllleeee(((()))) to
- describe the configuration of data in the user's buffer.
-
- An iflConfig contains six public member variables describing a collection
- of pixels:
-
-
- iiiiffffllllTTTTyyyyppppeeee _d_t_y_p_e Data type of the pixels
-
- iiiiffffllllOOOOrrrrddddeeeerrrr _o_r_d_e_r Order of the pixels
-
- iiiiffffllllOOOOrrrriiiieeeennnnttttaaaattttiiiioooonnnn _o_r_i_e_n_t_a_t_i_o_n Orientation of the pixels
-
- iiiinnnntttt _n_c_h_a_n_s Number of data channels the pixels
- contain
-
- iiiinnnntttt _c_h_o_f_f Offset in the channel list for the
- purpose of mapping from one collection
- of channels to another.
-
- iiiinnnntttt**** _c_h_a_n_n_e_l_s List that maps channels from one
- collection to another. This array is
- not maintained by this object, the data
- pointed to must persist while the object
- is in use.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333)))) IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- UUUUssssiiiinnnngggg iiiiffffllllCCCCoooonnnnffffiiiigggg
-
- The iflConfig object contains a list that maps channels from one
- collection to another. In this code fragment,
-
- unsigned char buffer[10*10*3];
- static int list[] = { 2, 1, 0 };
- iflConfig cfg(iflUChar, iflInterleaved, 3, list);
-
- someFile.getTile(0, 0, 0, 10, 10, 1, buffer, &cfg);
-
- _c_f_g is used to indicate that _b_u_f_f_e_r is going to receive a 10-by-10 array
- of three-component pixels stored in interleaved order with an unsigned
- char data type. This would override the actual configuration of the data
- in _s_o_m_e_F_i_l_e.
-
- The channel list provides the buffer's channel information. The first
- channel of the buffer receives data from channel 2 of _s_o_m_e_F_i_l_e. The
- second channel is from _s_o_m_e_F_i_l_e's channel 1. The third buffer channel
- gets channel 0 of _s_o_m_e_F_i_l_e. In general, when an iflConfig is defaulted,
- the operation being performed assumes that the source and destination
- configurations match. If _s_o_m_e_F_i_l_e was actually a four-channel float
- image stored in separate order, then
-
- someFile.getTile(0, 0, 0, 10, 10, 1, buffer);
-
-
- would require a buffer declared as
-
- float buffer[10*10*4];
-
- and would receive a verbatim copy of the requested section of _s_o_m_e_F_i_l_e.
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
-
- iflConfig()
- iflConfig(iflDataType type, iflOrder ord=iflInterleaved,
- int nchan=0, int* chanList=NULL, int chanOff=0,
- iflOrientation ori=iflOrientation(0))
-
-
- CCCChhhhaaaannnnnnnneeeellll lllliiiisssstttt mmmmaaaannnniiiippppuuuullllaaaattttiiiioooonnnnssss
-
- void compose(int nc, int* in, int* out) const
- int isInvertable() const
- void invert(int nc, int* chanList) const
- int mapChan(int idx) const
- int operator[](int idx) const
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333)))) IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiiffffllllCCCCoooonnnnffffiiiigggg(((())))
-
- iflConfig()
- iflConfig(iflDataType type, iflOrder order=iflInterleaved,
- int nchan=0, int* chanList=NULL, int chanOff=0,
- iflOrientation ori=iflOrientation(0))
-
-
- The first constructor creates an uninitialized object (not
- recommended). The second constructor creates an iflConfig with data
- type, _t_y_p_e; data ordering, _o_r_d_e_r; and channel list defined by
- _c_h_a_n_L_i_s_t of _n_c channels. If _c_h_a_n_L_i_s_t is omitted, all _n_c_h_a_n channels
- are used in ascending order. Optionally, the orientation is set to
- _o_r_i. If omitted, the orientation matches that of the image being
- accessed.
-
- ccccoooommmmppppoooosssseeee(((())))
-
- void compose(int nc, int* in, int* out) const
-
-
- This function composes the channel list in the iflConfig object with
- the channel list of _n_c_h_a_n channels specified by _i_n. The composed
- list is written to _o_u_t.
-
- mmmmaaaappppCCCChhhhaaaannnn(((())))
-
- void mapChan(int idx) const
-
-
- This function returns the channel on the list in the iflConfig
- object that maps to _i_d_x. It takes into account the offset specified
- by _c_h_o_f_f, or just the offseted index, if the channel list is NULL.
- If _i_d_x is more than _n_c_h_a_n_s or less than 0, it returns -1.
-
- ooooppppeeeerrrraaaattttoooorrrr[[[[]]]](((())))
-
- void operator[](int idx) const
-
-
- This operator returns the channel on the list in the iflConfig
- object that maps to _i_d_x. It takes into account the offset specified
- by _c_h_o_f_f, or just the offseted index, if the channel list is NULL.
- If _i_d_x is more than _n_c_h_a_n_s or less than 0, it returns -1.
-
- iiiinnnnvvvveeeerrrrtttt(((())))
-
- void invert(int nc, int* chanList) const
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333)))) IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiiffffllllCCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- This function inverts the channel list in the iflConfig object to
- perform the mapping in the opposite direction. The result is
- written to _n_c entries of _c_h_a_n_l_i_s_t.
-
- iiiissssIIIInnnnvvvveeeerrrrttttaaaabbbblllleeee(((())))
-
- int isInvertable() const
-
-
- This function returns whether the mapping described by the channel
- list has an inverse.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- iflFile
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-